<?php

use Phalcon\Forms\Element\Select,
    Phalcon\Forms\Element\Text,
    Phalcon\Forms\Element\Submit,
    Phalcon\Validation\Validator\PresenceOf,
    Phalcon\Validation\Validator\Identical,
    Phalcon\Validation\Validator\StringLength,
    Phalcon\Validation\Validator\Confirmation;

/**
 * validate and print render Frontend login form
 */
class SearchForm extends BaseForm {

    public function initialize() {

        $audio = new Select('audio',  Audios::find(),array(
            'using' => array('id', 'name'),
            'useEmpty' => true,
            'emptyText' => 'Chọn audio',
            'emptyValue' => 0,
        ));
        $this->add($audio);
        
        $lesson = new Select('lesson', Lessons::find(),array(
            'using' => array('id', 'name'),
            'useEmpty' => true,
            'emptyText' => 'Chọn bài học',
            'emptyValue' => 0,
        ));
        $this->add($lesson);
        
        $reference = new Select('reference', Reference::find(),array(
            'using' => array('id', 'id'),
            'useEmpty' => true,
            'emptyText' => 'Chọn đoạn hội thoại, đoạn văn',
            'emptyValue' => 0,
        ));
        $this->add($reference);
        
        $role = new Select('role', Roles::find(),array(
            'using' => array('id', 'name'),
            'useEmpty' => true,
            'emptyText' => 'Chọn quyền',
            'emptyValue' => 0,
        ));
        $this->add($role);
        
        $test = new Select('tests', Tests::find(),array(
            'using' => array('id', 'name'),
            'useEmpty' => true,
            'emptyText' => 'Chọn bài tập',
            'emptyValue' => 0,
        ));
        $this->add($test);
        
        $user = new Select('user', Users::find(),array(
            'using' => array('id', 'name'),
            'useEmpty' => true,
            'emptyText' => 'Chọn người dùng',
            'emptyValue' => 0,
        ));
        $this->add($user);
        
        $level = new Select('level', Levels::find(),array(
            'using' => array('id', 'name'),
            'useEmpty' => true,
            'emptyText' => 'Chọn cấp độ',
            'emptyValue' => 0,
        ));
        $this->add($level);
        
        $type = new Select('type', Levels::find(),array(
            'using' => array('id', 'name'),
            'useEmpty' => true,
            'emptyText' => 'Chọn loại',
            'emptyValue' => 0,
        ));
        $this->add($type);
        
        $blockedData = array(
            '0' => 'Không chặn',
            '1' => 'Chặn truy cập',
        );
        $blocked = new Select('blocked', $blockedData ,array(
            'using' => array('key', 'value'),
            'useEmpty' => true,
            'emptyText' => 'Tất cả',
            'emptyValue' => '',
        ));
        $this->add($blocked);
        
        $correctAnswerData = array(
            'A' => 'A',
            'B' => 'B',
            'C' => 'C',
            'D' => 'D'
        );
        $correctAnswer = new Select('blocked', $correctAnswerData ,array(
            'using' => array('key', 'value'),
            'useEmpty' => true,
            'emptyText' => 'Tất cả',
            'emptyValue' => '',
        ));
        $this->add($correctAnswer);
        
        $name = new Text('name');
        $this->add($name);
        
        $email = new Text('email');
        $this->add($email);
        
        $desciption = new Text('description');
        $this->add($desciption);

        // Submit button
        $this->add(new Submit('submit', array(
            'class' => 'btn btn-primary btn-large'
        )));
    }

}
